#ifndef CLOTH_HH_
# 	define CLOTH_HH_

# 	include "common/stl.h"

# 	include "items/Item.hh"
# 	include "items/inventory/Storage.hh"

// #include "Model3d, Sound"

// compass / watch / ...

// cd (shd ?) be an abstract class
class Cloth: public Item
{
    public:
        // we do *NOT* want to instantiate a Cloth object
        Cloth() = delete;
        virtual ~Cloth() {};

//        /** put a Cloth
//         ** \return true on success, false otherwise (interruption)
//         */
//        virtual bool put();
//
//        /** take a Cloth off
//         ** \return true on success, false otherwise (interruption)
//         */
//        virtual bool takeOff();
//
//        /** checks cloth storage slot number \param slot
//         */
//        virtual void check(unsigned char slot);
//
//        /** browse every cloth storages
//         */
//        // we could use a list of points to check
//        virtual void check();

    private:
        char _part; /// matching e_body_part value
        // -- reactivate -- Model3D _modelFirst; // 3D model: moving down camera

        float _tempResistance; /// temperature resistance coeff: negative value: keep cool; positive: keep warm

        // cd merge them in a char
        /** negative value on 'catastrophic' type,
         ** positive value: adaptative
         ** // cd be a coeff or use [MAX_INT / MIN_INT ...]
         */
        char _tempAdaptation;

        bool _tempAdaptative; /// cool down when too hot; vice-versa
        bool _tempCatastrophic; /// cool down when too cold; vice-versa... // stainless_steel_toe example

        float _movingRotation; /// how much does it slow your rotation speed
        float _protection; // use to calc
        float _tearable; // tear coefficient

        //std::vector<Storage> _storage; /// Storages Vector one per 'pocket'
        // cd even be a std::Map<,Item>

        Sound _soundMoving; /// played sound while moving; volume && repetition = f(velocity)
};

// storage class (individual: bullet; simple: clip size; large: handgun; carrier: rifle size)

#endif /* !CLOTH_HH_ */
